// 单行注释
/**
 * js多行注释 
 */
/**
 * var声明变量的特点：
 * 1.var声明的变量会进行变量提升
 *  console.log(a);var a = 10;
 * 解析为 var a; console.log(a); a = 10;
 * 2.var可以重复声明
 *  var a = 10; var a = 20; console.log(a) //20
 * 3.不存在块级作用域
 *  用var声明的变量，在外边也可以访问到
 * if(true){
    var a = 10;
}
console.log(a);//可以访问到a的值为10；

 */


/**
 * let声明变量的特点：
 * 1. 不存在变量提升
 * console.log(a);//初始化之前不能访问
*let a = 10 ;
   2.不存在重复声明
        a = 10;
        a = 20;//报错
   3.存在块级作用域
        if(true){
        let a = 10;
        }
        console.log(a);//不能访问if里面的a

 */

/**
 *const声明变量
     1.不存在变量提升
          console.log(a);
          a = 10;
     2.不可重复声明
     3.存在块级作用域
          if{
          const a = 10;
          }
          console.log(a);
     4.const声明的变量必须进行初始化    
          var a;
          let b;
          const c;
          console.log(a,b); 
     5.const一旦初始化不可以重复赋值 一般用于声明常量
          const a = 10;
          a = 20 ; 报错
*/



